#include <bits/stdc++.h>
class DSU {
std::vector<int> par, size;
public:
DSU(int n) : par(n), size(n, 1) { std::iota(par.begin(), par.end(), 0); }
int Find(int x) {
if (x == par[x]) return x;
return (par[x] = Find(par[x]));
}
bool Union(int x, int y) {
int X = Find(x);
int Y = Find(y);
if (X == Y) return false;
if (X > Y) std::swap(X, Y);
par[X] = Y; size[Y] += size[X];
return true;
}
int Size(int x) { return size[Find(x)]; }
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t;
std::cin >> t;
while (t--) {
int n, m;
std::cin >> n >> m;
std::vector<std::vector<std::pair<int, int>>> A(n + 1);
int hpot = 0;
for (int i = 0; i < m; i++) {
int u, v, w;
std::cin >> u >> v >> w;
hpot = std::max(hpot, (int)log2(w));
A[u].push_back({v, w});
A[v].push_back({u, w});
}
int ans = 0;
auto trim_graph = [&A, &n] (int x) {
std::vector<std::vector<std::pair<int, int>>> B(n + 1);
DSU d(n + 1);
for (int i = 1; i <= n; i++) {
for (auto [v, w] : A[i]) {
if ((w & (1 << x)) == 0) {
B[i].push_back({v, w});
d.Union(i, v);
}
}
}
if (d.Size(1) != n) return false;
A = B;
return true;
};
for (int i = hpot; i >= 0; i--) {
if (!trim_graph(i)) {
ans |= (1 << i);
}
}
std::cout << ans << std::endl;
}
}
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |
144. Binary Tree Preorder Traversal | 137. Single Number II |
130. Surrounded Regions | 129. Sum Root to Leaf Numbers |
120. Triangle | 102. Binary Tree Level Order Traversal |
96. Unique Binary Search Trees | 75. Sort Colors |
74. Search a 2D Matrix | 71. Simplify Path |
62. Unique Paths | 50. Pow(x, n) |
43. Multiply Strings | 34. Find First and Last Position of Element in Sorted Array |
33. Search in Rotated Sorted Array | 17. Letter Combinations of a Phone Number |
5. Longest Palindromic Substring | 3. Longest Substring Without Repeating Characters |
1312. Minimum Insertion Steps to Make a String Palindrome | 1092. Shortest Common Supersequence |